package util
{
	import mx.collections.ArrayList;
	import mx.controls.dataGridClasses.DataGridColumn;
	import mx.utils.ObjectUtil;
	import mx.utils.StringUtil;

	public class DinamicDataGridColumn
	{
		public function DinamicDataGridColumn()
		{
		}
		
		public function criaColuna(obj:Object):Array
		{
			//Cria um vetor de colunas
			var colunas:Array = new Array();
			
			//Retorna as propriedades do objeto objTemp[0] para o Objeto properties
			var properties:Object = ObjectUtil.getClassInfo(obj[0]);	
			
			//Da um loop para cada propriedade do objeto properties
			for each (var property:Object in properties.properties)
			{
				if (StringUtils.startsWith(property.toString(),"message") || 
					StringUtils.startsWith(property.toString(),"fromname")) { 
					//Cria uma nova DataGridColumn
					var columnWidth:int = 100;
					var coluna:DataGridColumn  = new DataGridColumn();
					var colunaHeader:String = property.toString();
					
					coluna.width = columnWidth; 
					coluna.headerText = colunaHeader;
					coluna.dataField = property.toString();
					colunas.push(coluna); //Inclui a nova coluna ao vetor de colunas
				}
			}
			return colunas;
		}
	}
}